/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sysAutoNum;

import bd.ConBdSqlS;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author Camilo
 */
public class SysAutoNumDao {
  protected Connection con;
  
  public SysAutoNumDao() throws SQLException{
    this.con = ConBdSqlS.getConexao();
  }
  
    public SysAutoNum getAutoNum(String tabela) throws SQLException {
      SysAutoNum san = new SysAutoNum();;//instancia um novo objeto
    //    Código SQL
    String sql = "SELECT tabela, contador FROM sysautonum "
            + "WHERE(tabela =?)";
    PreparedStatement stmt = this.con.prepareStatement(sql);
    stmt.setString(1,tabela);//Define o critério da consulta
    ResultSet rs = stmt.executeQuery();//executa a consulta SQL
    //percorre os registros da tabela e seta os valores das classes
    while (rs.next()) {
      san.setTabela(rs.getString("tabela"));
      san.setContador(rs.getInt("contador"));
    }

//    fecha as conexões
    rs.close();
    stmt.close();

    return san;
  }
    
    public void altera(String tabela) throws SQLException {
      SysAutoNum sys = new SysAutoNum();
      sys = this.getAutoNum(tabela);
      Integer i = sys.getContador();
      i++;
    String sql = "UPDATE sysautonum SET contador=? WHERE tabela=?";
    PreparedStatement stmt = con.prepareStatement(sql);
//    preenche os parâmetros
    stmt.setInt(1,i);
    stmt.setString(2, tabela);
//    executa o código SQL
    stmt.executeUpdate();
    stmt.close();
  }
  
}
